#pragma once
#include "sigslot.h"
#include "InputEvent.h"

class InputDevice
{
public:
	enum Type
	{
		keyboard,
		pointer,
		unknown
	};

	InputDevice(void);
	~InputDevice(void);

	sigslot::signal1<const InputEvent&>& sigKeyDown();
	sigslot::signal1<const InputEvent&>& sigKeyUp();
	sigslot::signal1<const InputEvent&>& sigMove();
	unsigned int getType();

protected: 
	sigslot::signal1<const InputEvent&> keyDown;
	sigslot::signal1<const InputEvent&> keyUp;
	sigslot::signal1<const InputEvent&> move;
	Type type;
};

